Near-Optimal Instruction Selection on DAGs
ثبت نشده
چکیده
Instruction selection is a key component of code generation. High quality instruction selection is of particular importance in the embedded space where complex instruction sets are common and code size is a prime concern. Although instruction selection on tree expressions is a well understood and easily solved problem, instruction selection on directed acyclic graphs is NP-complete. In this paper we present NOLTIS, a near-optimal, linear time instruction selection algorithm for DAG expressions. NOLTIS is easy to implement, fast, and effective with demonstrated average code size improvements of 1.48%.
منابع مشابه
Selection of Optimal Intensity Measure for Seismic Assessment of Steel Buckling Restrained Braced Frames under Near-Fault Ground Motions
Buckling restrained braces (BRBs) have a similar behavior under compression and tension loadings. Therefore, they can be applied as a favorable lateral load resisting system for structures. In the performance-based earthquake engineering (PBEE) framework, an intermediate variable called intensity measure (IM) links the seismic hazard analysis with the structural response analyses. An optimal IM...
متن کاملTowards a More Principled Compiler: Register Allocation and Instruction Selection Revisited
Backend optimizations are a critical part of an optimizing compiler. This thesis develops a principled approach for understanding, evaluating, and solving backend optimization problems. Our principled approach is to develop a comprehensive and expressive model of the backend optimization problem, and design solution techniques for this model that achieve or approach optimality. We apply our pri...
متن کاملMinimum Register Instruction Sequence Problem: Revisiting Optimal Code Generation for DAGs
We revisit the optimal code generation or evaluation order determination problem — the problem of generating an instruction sequence from a data dependence graph (DDG). In particular, we are interested in generating an instruction sequence S that is optimal in terms of the number of registers used by the sequence S. We call this MRIS (Minimum Register Instruction Sequence) problem. We developed...
متن کاملIntegrated Instruction Scheduling and Register Allocation Techniques
An algorithm for integrating instruction scheduling and register allocation must support mechanisms for detecting excessive register and functional unit demands and applying reductions for lessening these demands. The excessive demands for functional units can be detected by identifying the instructions that can execute in parallel, and can be reduced by scheduling some of these instructions se...
متن کاملAssessing the Computational Benefits of AREA-Oriented DAG-Scheduling
Many modern computational platforms, including “aggressive” multicore architectures, proposed exascale architectures, and many modalities of Internet-based computing are “task hungry”—their performance is enhanced by always having as many tasks eligible for allocation to processors as possible. The IC-scheduling paradigm for computations with inter-task dependencies—modeled as DAGs—was develope...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007